# -*- coding:utf-8 -*-
"""
@Time:  2024/6/22 9:39
@Auth:  Mrs.Gou 
@Function:  男人类
"""
from class07.demo03 import Human
from class07.demo04 import HuMan
from class07.demo06 import WoMen


class Man(HuMan, Human):
    """
    男人类，继承两个类
    """

    # 类变量
    sex = '男'

    def __init__(self, name, age):
        HuMan.__init__(self, name)
        # 类变量用类调用
        Human.__init__(self, name, age, Man.sex)

        # 体现：拓展
        self.height = 170
        self.weight = 70

    # 实例方法
    def sport(self):
        """
        体现拓展
        运动
        :return:
        """
        print('运动使人长高')
        self.height += 1
        self.weight -= 1
        return self.height
        return self.weight

    # 类方法：classmethod()函数是Python内置的一个装饰器函数，用于表示一个方法是类方法
    @classmethod
    def get_sex(cls):
        """类函数，获取类变量"""
        return cls.sex

    # 重写：重新实现父类的方法
    def make_money(self):
        self.money += 1
        self.sport()


if __name__ == '__main__':
    lili = WoMen('lili', 19)
    will = Man('will', 18)
    # 体现：继承
    will.say(lili)
    print(will.name)

    # 调用实例函数
    will.sport()
    print(will.height)
    print(will.weight)

    # 调用类函数:通过类名调用
    sex = Man.get_sex()
    print(sex)

    # 调用重写的函数
    will.make_money()
    print(will.money)
